package com.itlaobing.reflection.constructor;

import java.lang.reflect.Constructor;
import java.time.LocalDate;

/**
 * 获得指定类的单个构造方法对应的 Constructor实例
 */
public class GetConstructor2 {

    public static void main(String[] args) throws Exception {
        Class<?> c =Class.forName("com.itlaobing.reflection.constructor.Tiger");

        // 从c类的所有 public 修饰的构造方法中，根据 参数列表 获取指定的构造方法 对应的 Constructor实例
        Constructor<?> constructor = c.getConstructor(String.class, LocalDate.class);
        System.out.println(constructor);

        System.out.println( "- - - - - - - - - - - - - - - - - - - -" );

        // 从c类的所有构造方法中(不考虑修饰符的影响)，根据 参数列表 获取指定的构造方法 对应的 Constructor实例
        constructor = c.getDeclaredConstructor(String.class,LocalDate.class);
        System.out.println(constructor);
    }
}
